home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr49 / 119_01.zip / NOTES.MSS < prev    next >
Text File  |  1993-06-16  |  8KB  |  156 lines

  1. @pageheading(left "Notes on AUG Disk # 1 by B. Dobyns")
  2. This disk isn't nearly as full as I had intended it to be, but the
  3. release is occuring now, so that everyone can begin to share the
  4. benefits of the code contained herein. 
  5.  
  6. There should be little trouble getting most of these functions to work
  7. in your Amethyst package, with the exception of Jeffrey Stone's and
  8. Oscar Goldman's Scribble/Crayon hacks. These are strictly for
  9. Scrobble/Crayon 1.0 only and will not work elsewhere.
  10.  
  11. For Mince extenders, most of the Mince source is very liberally
  12. commented, and easy to use. You may have some trouble geting some of
  13. these things going in your Mince, though, if you have not tried any
  14. extenson yet. 
  15.  
  16. I have included SD for two reasons: One, they both work under
  17. CP/M 2.2 (while many older extended directory listers don't). Two, I
  18. am planning on turning one into an overlay for Mince (heh, heh).
  19.  
  20. Don't forget that if you #define LARGE in MINCE.GBL you can get two
  21. more modes 'Save' and 'C'. Neither of these are really 'complete' yet,
  22. but the code for them is scattered about the source files, disabled by
  23. #ifdef LARGE ... and you can be tinkering with them now. 
  24.  
  25. Hereare some notes on how to go about extension:
  26.  
  27. If the extensions that you want on this disk are already
  28. built into a Bindings.C file (recognizable by the presence of
  29. finit1(), finit2(), finit3(), SetModes() and UInit() in the file) then
  30. you merely need to pip the file over to a disk with the rest of the
  31. Mince code on it, and edit MC.SUB or LMC.SUB to reflect the new name
  32. of the bindings source file. Take out the old references to Bindings.C
  33. and put in the new ones (e.g. Demo.C). Submit (L)MC and lean back. You
  34. should get a new Mince shortly. 
  35.  
  36. Note that you can have lines in a submit file that start with a ';'
  37. and these are taken by CP/M (all versions) to be comment lines, and
  38. are printed on the terminal, but ignored. Comment lines in your submit
  39. files can greatly ease the pain of figuring out what the little
  40. nasties do weeks later (especially when you named it with a VERY
  41. arcane name (QQX.SUB)). 
  42.  
  43. If you do not find that the code that you want is already in a
  44. Bindings file, you must do some work. Take your current Bindings.C and
  45. edit it thusly: Take the functions you want and place them at the end
  46. of the file, just before the /* END OF mumble.C */. Place a
  47. modification notice at the head of the file. If this loses you, look
  48. at what I did (in MACBIND.C) for an example of one way to go about
  49. this.  Decide which command names (the letters you type on the
  50. keyboard) you want to go with which command. Look in the file for the
  51. bindings similar to it (all the C- commands are in finit1, all the M-
  52. in finit2, all the C-X in finit3). Near the the beginning of finitX
  53. there will be a number of function declarations. Put the new functions
  54. in after the ones there (e.g. int MMumble();) Put the assignments for
  55. the function names in the body of finitX, preserving the order. Once
  56. again, if this loses you, look at the way I did it.  
  57.  
  58. Once you have modified your bindings, you may find that there is
  59. insufficient space for all of the code to fit before the externals.
  60. You can comment out page mode in the Bindings, and this will give you
  61. some space, but the functions will still be linked in by L2. To insure
  62. that the page mode (or any other) functions you never reference will
  63. NOT be linked in, edit them out of COMMx and into another file. Put
  64. this file after the -l on the L2 command line. I provide a sample of
  65. this, COMM4.C in which I have placed all the page mode functions, and
  66. the MSearch and MRSearch (I wrote new ones). If I include it after the
  67. -l on the L2 line (with appropriately modified COMM(1-3)), when
  68. compiled with the 'factory standard' bindings, I get a 'factory
  69. standard' mince. When compiled with a bindings without references to
  70. these functions, they do not get linked in, and save me space (in
  71. which I can do other things.)
  72.  
  73. I keep all of my .CRL files on a separate disk in B:, and keep a
  74. mince, all the source code, the C compiler, and L2 on another in A:.
  75. This way i have enough space to get things done in. I have provided a
  76. few submit files that i use so that you can see how i have things
  77. organized and how i get new minces built.
  78.  
  79. @address{22 September 1981
  80.  
  81. Barry A. Dobyns, Editor, Slave &c.
  82. Amethyst Users Group
  83. P.O. Box 8173
  84. Austin, Texas 78712-8173
  85. (512)441-9466}
  86. them out e contains the function table initializers and mode set up
  87. functions */
  88.  
  89. #include "mince.gbl"
  90.  
  91. finit1()            /* initialize the@heading{Letter from Oscar Goldman, 7-15-81:}
  92.  
  93. The first issue of the newletter mentions the problem in Crayon
  94. which arises when the pause option is used with a printer that sends
  95. out a line only after receiving a line feed. (My Epson MX-80 is one such.)
  96.  
  97. Clearly the solution is to supply the necessary line feed.  One
  98. place to do this is in the function 'PagePause' in the file Crayon.C .
  99. As it is now, that function looks like:
  100.  
  101. @verbatim[ PagePause()
  102.            {            /* pause, get fresh page from user */
  103.                       if (PrVPos () != 0) PrFF;
  104.                 PrFlush();
  105.                 puts ("Insert fresh page; type any character when ready -->");
  106.                 getchar();
  107.         }]
  108.  
  109. Using Mince (of course), edit the file by adding the line
  110.  
  111. @verbatim[    OSend ('/012');]
  112.  
  113. just after the line 'PrFlush ();'.  Then compile and relink (the
  114. pieces to link are in the file cc.sub).
  115.  
  116. By making this change, if the pause option is used, the last
  117. thing sent to the printer after printing a page is the needed line
  118. feed.  The extra line feed does no harm; it will merely help push the
  119. paper out of the printer!  Also, if the pause option is not used, then
  120. the function PagePause is not called, and the change has no effect.
  121. Care should be taken not to use the pause option with continuous
  122. forms, because then the extra line-feed will make a mess.
  123.  
  124. As far as I have been able to determine, there are no undesirable
  125. side effects arising from this modification.  However, this fix is not
  126. very elegant, since it modifies Page Pause even for printers that
  127. don't have the buffer problem (?) of the Epson.  I suppose that in
  128. some future version on Crayon, the creators of Amethyst will make the
  129. required modification in the printer configuration routine.
  130.  
  131. @display{Oscar Goldman
  132. 1221 Knox Road
  133. Wynnewood, PA  19096}lush ();'.  Then compile and relink (the
  134. pieces to link are in the file cc.sub).
  135.  
  136. By makl, but ignored. Comment lines in your submit
  137. files can greatly ease the pain of figuring out what the little
  138. nasties do weeks /* QUARTZ.C - Alternate Command Set (a mode)
  139.    Contributed to the AUG by Mark of the Unicorn 07/20/81 
  140.  
  141. The seller of this software hereby disclaims any and all
  142. guarantees and warranties, both express and implied.  No
  143. liability of any form shall be assumed by the seller, nor shall
  144. direct, consequential, or other damages be assumed by the seller.
  145. Any user of this software uses it at his or her own risk.
  146.  
  147. Due to the ill-defined nature of "fitness for purpose" or similar
  148. types of guarantees for this type of product, no fitness for any
  149. purpose whatsoever is claimed or implied.
  150.  
  151. The physical medium upon which the software is supplied is
  152. guaranteed for one year against any physical defect.  If it
  153. should fail, return it to Mark of the Unicorn, and a new physical
  154. medium with a copy of the purchased software shall be sent.
  155.  
  156. The seller reserves the right to make changes, add